home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / renumsg.zip / RENUMSG.DOC < prev    next >
Text File  |  1992-06-07  |  11KB  |  244 lines

  1.                                  RENUMSG
  2.                                Version 1.1
  3.                    Copyright (C) by Mike Woltz, 1991-92
  4.                           Buffalo Creek Software
  5.                                A Member Of 
  6.                  The Association Of Shareware Professionals
  7.     
  8.  
  9.     INTRODUCTION
  10.     ------------
  11.       RENUMSG is a utility written by Mike Woltz, author of SPITFIRE
  12.     Bulletin Board System.  RENUMSG is intended for use with SPITFIRE.
  13.     It is a utility designed to renumber the "internal numbering" of messages 
  14.     within a SPITFIRE message conference.
  15.     
  16.     
  17.     SPITFIRE INTERNAL NUMBERING
  18.     --------------------------
  19.     
  20.       To understand the necessity of the RENUMSG utility, it is best to
  21.     explain how SPITFIRE handles internal numbering of message conferences.
  22.     When a SPITFIRE BBS is started and callers begin saving messages to
  23.     a message conference, the number assigned to the message begins with
  24.     1 and progressively increases for each message saved to that conference.
  25.     And so it also with SPITFIRE's internal numbering of messages within
  26.     a conference.
  27.     
  28.       However, let's assume that the message conference has grown over a
  29.    period of time to 500 messages and the Sysop decides it is time to
  30.    pack messages.  Let us also assume that during the message pack,
  31.    300 messages were purged, leaving a new total of 200 messages in
  32.    the message conference.  As you are aware, the next message saved
  33.    to that particular message conference will be numbered 201.  But the
  34.    internal number for the new message will be 501.  The internal
  35.    message number continues to increase progressively, indicating the
  36.    total messages saved to this particular conference.  Therefore,
  37.    when a caller sees a message numbered 186, it may actually be 
  38.    number 45,637.
  39.    
  40.       Programming limitations set the maximum number for the "internal
  41.    numbering" at 2,147,483,647.  After reaching the maximum number, the
  42.    internal number is wrapped around and begins again at -2,147,483,647.
  43.    So after reaching the maximum number, SPITFIRE's internal numbering of
  44.    messages virtually starts anew.
  45.    
  46.    
  47.    WHY RENUMSG IS NECESSARY
  48.    ------------------------
  49.    
  50.       Another feature of SPITFIRE is that it automatically tracks the
  51.    last message read for each caller in each message conference.  When
  52.    a caller finishes reading messages in a conference, SPITFIRE compares
  53.    the message number to the previous last message read stored in
  54.    SFMSG<x>.PTR.  If the number is greater than the number stored,
  55.    SPITFIRE resets the last message read pointer.
  56.  
  57.       However, if the message conference has reached the maximum number
  58.    of the internal message numbering, and has wrapped around beginning
  59.    the numbering with -2,147,483,647, the caller's last message pointer
  60.    is not reset.  It is not reset because the number of the last message
  61.    read is not greater than what has been stored in the SFMSG<x>.PTR
  62.    is larger than the number of the message the caller has just
  63.    finished reading.  
  64.    
  65.       For example, the message pointer file has message number 2,147,483,620
  66.   stored as the caller's last message read.  When the caller next logs
  67.   on the BBS, assume that enough messages have been saved to that
  68.   particular conference that it has wrapped around so that the internal
  69.   numbering of messages is now set at -2,147,483,547.  The caller reads
  70.   through the entire message conference.  When the caller leaves the message
  71.   conference, SPITFIRE compares -2,147,483,547 to the previous number,
  72.   2,147,483,620 and does not reset the message pointer because -2,147,483,547
  73.   is not larger than the previous last message read number.
  74.        
  75.     
  76.    HOW RENUMSG WORKS
  77.    -----------------
  78.  
  79.       When RENUMSG is executed, it performs a test on the designated
  80.    message conference (see USAGE below) to see if the last internal
  81.    message number is within 20,000 of the maximum number allowed.  If
  82.    it is, then, RENUMSG will renumber the messages within the conference,
  83.    resetting each caller's message pointers.
  84.    
  85.       If the message conference is not yet within 20,000 messages of the
  86.    maximum, RENUMSG will continue comparing each message number to the
  87.    number of the previous message.  If RENUMSG finds that the number
  88.    of the current message is not greater than the number of the previous
  89.    message, RENUMSG will display the following:
  90.    
  91.    A message numbering problem has been found
  92.    starting with message number <x>!
  93.    Please stand by...repair work underway!
  94.    
  95.    and RENUMSG will start renumbering the messages within that conference
  96.    from that point forward.
  97.    
  98.       This could happen if you are using a message base utility, such as 
  99.    some net-mail programs and/or utilities which do not support SPITFIRE's 
  100.    internal numbering of messages.     
  101.  
  102.       RENUMSG will only renumber messages if it finds the message numbering
  103.    is not consecutive or if the number is within 20,000 of the maximum
  104.    number allowed.  If RENUMSG does not find renumbering the messages
  105.    necessary, the following message is displayed:
  106.    
  107.    Message conference #<x> tested fine!
  108.    
  109.    where <x> indicates the number of the message conference tested.
  110.    If renumbering is required, when renumbering is completed, the
  111.    following message is displayed:
  112.    
  113.    Repair work complete!
  114.  
  115.    It should be mentioned that if renumbering is required, RENUMSG
  116.    does not maintain message threads.  The messages will be intact
  117.    but they will not longer be connected to a thread.
  118.    
  119.    
  120.    USAGE
  121.    -----
  122.    
  123.       RENUMSG must be executed from SPITFIRE's home directory.  It must find
  124.    SFNODE.DAT or it will not execute.
  125.   
  126.       Two options are available for executing RENUMSG.  The first option
  127.    is to specify which conference you wish RENUMSG to renumber and the
  128.    second allows all message conferences to be renumbered.
  129.    
  130.       To specify a particular conference when using RENUMSG, simply use a
  131.    command line parameter which designates the number of the message 
  132.    conference that RENUMSG will process.  For example:
  133.     
  134.    RENUMSG 10
  135.     
  136.    would initiate RENUMSG to test, and if necessary, renumber message
  137.    conference number 10.
  138.    
  139.       To use RENUMSG to process all SPITFIRE Message Conferences, simply
  140.    use /ALL as the command line parameter.  For example,
  141.    
  142.    RENUMSG /ALL
  143.    
  144.       In the event you attempt to run RENUMSG without specifying the
  145.    desired command line parameter, examples depicting proper usage of
  146.    RENUMSG will be displayed.
  147.    
  148.    
  149.    DETERMINING IF RENUMSG IS NEEDED
  150.    --------------------------------
  151.    
  152.      The easiest way to determine if you need to run the RENUMSG utility
  153.    is if you are experiencing problems with the last message read pointer
  154.    not being reset properly.  This is a good indication that a message
  155.    conference has reached the maximum number and wrapped around.  
  156.    
  157.      Keep in mind, that SPITFIRE does not reset pointers for Sysops who
  158.    are using the <P>review Messages option.  SPITFIRE will also not reset
  159.    the last message read pointer if a caller exits the message conference
  160.    after reading a message that appears before their last message read
  161.    pointer.  In other words, if a caller's last message read pointer is
  162.    100 and reads to message 150 and then returns to message 50 before
  163.    exiting the message conference, the last message read pointer is not
  164.    reset.
  165.  
  166.  
  167.    POSSIBLE ERRORS RUNNING RENUMSG
  168.    -------------------------------
  169.  
  170.        If RENUMSG is executed outside the SPITFIRE home directory and
  171.    SFNODE.DAT is not found a message will display explaining that
  172.    RENUMSG needs to be moved to the SPITFIRE home directory.  If
  173.    RENUMSG is executed without specifying the message conference
  174.    to be processed, a message will display giving the proper usage of
  175.    RENUMSG.  If you attempt to run RENUMSG and specify a message
  176.    conference that does not exist, RENUMSG will display a message 
  177.    informing you that it could not find the SFMSG<x>.PTR you specified.
  178.    A similar message will be displayed if an error occurs while 
  179.    RENUMSG is attempting the read or write to the SFMSG<x>.PTR
  180.    associated with the message conference you specified.  When an 
  181.    error occurs, RENUMSG returns an errorlevel of 1 to DOS.
  182.    
  183.       
  184.    RENUMSG AS AN EVENT
  185.    -------------------
  186.  
  187.       Since RENUMSG will only renumber the message conference if it finds
  188.    renumbering necessary, a good way to maintain your message conferences
  189.    would be to use RENUMSG as an event.  RENUMSG could be run as a daily
  190.    or weekly event within SPITFIRE so message conferences are maintained
  191.    automatically.  Refer to your SPITFIRE manual for information on
  192.    setting up an event within SPITFIRE.
  193.    
  194.      
  195.    RENUMSG ON A MULTI-NODE SYSTEM
  196.    ------------------------------
  197.    
  198.       RENUMSG is fully compatible for operation on a multi-node BBS.
  199.    It automatically handles any file locking and file sharing 
  200.    required during its execution.   
  201.             
  202.     
  203.     DISTRIBUTION
  204.     ------------
  205.  
  206.        RENUMSG is distributed under the shareware concept.  You are
  207.     free to distribute the RENUMSG program as long as it remains
  208.     unmodified and no fee is charged.  If you continue to use this 
  209.     program after an adequate evaluation period a fee is required.
  210.     A $1.00 fee is required of register RENUMSG.  Please mail your
  211.     registration to:
  212.     
  213.                          Buffalo Creek Software
  214.                          Attention: Mike Woltz
  215.                          913 - 39th Street
  216.                          West Des Moines, Iowa   50265
  217.  
  218.  
  219.     DISCLAIMER
  220.     ----------
  221.         
  222.        Mike Woltz and/or Buffalo Creek Software shall in no way be 
  223.     held responsible for any damage incurred while operating RENUMSG.
  224.     All responsibility lies with the user of the software.
  225.  
  226.        The documentation for RENUMSG is contributed by Jacque
  227.     Shipley and The Mother Board BBS.  The shareware version of
  228.     SPITFIRE and other SPITFIRE utilities are available for download
  229.     from:
  230.  
  231.          Buffalo Creek's BBS              The Mother Board BBS
  232.           Mike Woltz, Sysop               Jacque Shipley, Sysop
  233.            (515) 225-8496                    (515) 986-3464
  234.     38400/19200/9600/2400/1200 Baud      19200/9600/2400/1200 Baud
  235.  
  236.  
  237.     HISTORY
  238.     -------
  239.     
  240.     Version 1.0  Initial release of RENUMSG.
  241.     
  242.     Version 1.1  /ALL command line parameter is added which allows
  243.                  RENUMSG to process all SPITFIRE Message Conferences.
  244.